import asyncio, asyncvnc

async def run_client():
    async with asyncvnc.connect('localhost') as client:
        print(client)
        client.keyboard.write('hello world!')
        with client.keyboard.hold(*["a","s"]):
            await asyncio.sleep(3)


asyncio.run(run_client())

# vmware开启VNC操作：https://blog.csdn.net/Memroy/article/details/136492040
# 连接VNC的IP地址：127.0.0.1
# 要把虚拟机里的TightVNC关闭密码验证
# asyncVNC文档 https://asyncvnc.readthedocs.io/en/latest/index.html
# 2024/12/29 00：09 调试成功asyncvnc的hello world代码；问题是，foxhole无法启动。因为“direct 11 feature level 10 未开启”
# 这个错误实际上是因为虚拟机无法调用主机显卡。所以通过安装vmware tools可以解决
# 11:00 下载vmware tools，下载地址：https://packages.vmware.com/tools/releases/latest/windows/，并按照这个教程，将vmware tools的iso文件挂载到虚拟机里面，随后完成安装 https://docs.vmware.com/cn/VMware-Workstation-Pro/17.6/com.vmware.ws.using.doc/GUID-391BE4BF-89A9-4DC3-85E7-3D45F5124BC7.html
# 11:24 成功启动散兵坑，并通过hold API，在散兵坑中进行了测试。实验证明hold api能够控制游戏

# 11：32 开始学习asyncio，我需要基于这个API来监听按键与发送VNC指令

# 
'''
12:39 使用 keyboard库和这篇教程，拼凑出了一个由keyboard线程生产，自定义线程作为消费者 的 测试代码
pynput的Monitoring the keyboard章节的代码
https://pynput.readthedocs.io/en/latest/keyboard.html
缝合
这篇知乎教程《Python 并发编程（四）：详解 Python 线程消息通信机制》中2.4.1 Event事件的  class MyThread 代码
https://zhuanlan.zhihu.com/p/267740197


'''